home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 May: Tool Chest / Developer CD Series Tool Chest (Apple Computer)(May 1999).iso / Tool Chest / Games / Game Sample Code / ZAM 1.0a13 / GameHeaders / ZAM.h < prev   
Encoding:
C/C++ Source or Header  |  1993-09-16  |  1.6 KB  |  70 lines  |  [TEXT/KAHL]

  1. #pragma once
  2. #include "FixGraf.h"
  3. #include "CoreAssertion.h"
  4. #include "GrafUtils.h"
  5. #include "GWorldUtils.h"
  6. #include "Sprite.h"
  7.  
  8. #define kBaseID    128
  9.  
  10. typedef unsigned long ulong;
  11.  
  12. typedef enum {
  13.     kNumDirections = 32,
  14.     max_obstacle = 8,
  15.     max_tank = 2,
  16.     max_shot = 2,
  17.     kNumShotFrames = 16,
  18.     kMaxExp = 20,
  19.     kMaxExpFrames = 6
  20. } max_enums;
  21.  
  22. typedef enum {
  23.     kWaitingForRequest, kWaitingForAccept, kGameInSetup, kGameInProgress
  24. } stateFlags;
  25.  
  26. typedef enum {
  27.     kLeftSide = 1, kRightSide = 2, kBottomMargin = 24
  28. } sideFlags;
  29.  
  30. typedef  struct {
  31.     stateFlags            gameState;                    // state of the game
  32.     short                localTankIndex;                    // indicates left or right side of map
  33.     short                remoteTankIndex;
  34.     GWorldPtr            backdrop;                    // background image
  35.     GWorldPtr            tween;
  36.     Str255                playerName;                    // name of this player
  37.     Str255                oppName;                    // name of opponent
  38.     ulong                gameID;                        // transactionID
  39.     AEAddressDesc        oppAddr;                    // address of remote mac
  40.     WindowPtr            gameWind;                    // the main game window
  41.     Rect                gameArea;                    // area where game takes place
  42.     Rect                statusArea;                    // status area of map
  43.     CTabHandle            gameCTab;
  44.     short                gameCTSeed;
  45. } gameRec, *gamePtr;
  46.  
  47. /*---- function prototypes --------*/
  48. OSErr NewGame(void);
  49. gamePtr MakeGameRecord(void);
  50. OSErr SetUpPlayer(gamePtr game);
  51.  
  52.  // keyboard constants
  53. enum
  54.     {
  55.     kUpArrowKey = 0x7E,
  56.     kLeftArrowKey = 0x7B,
  57.     kRightArrowKey = 0x7C,
  58.     kSpaceBarKey = 0x31,
  59.     kEscapeKey = 0x35
  60.     };
  61.  
  62. #define KeyMapLoMem ((unsigned char *)0x174)
  63. #define KeyIsDown(key) ((KeyMapLoMem[key >> 3] >> (key & 7)) & 1)
  64.  
  65.  
  66. extern spritePtr    gDebugSprite;
  67. extern gamePtr        gGame;
  68.  
  69. extern Boolean gDead;
  70. extern long gDeadTime;